namespace SimpleWebServices.Data
{
    using System;
    using System.Collections.Generic;
    using Xunit;

    public sealed class IRepositoryFacts
    {
        [Fact]
        public void typedef()
        {
            Assert.True(typeof(IRepository).IsInterface);
        }

        [Fact]
        public void IRepository_Delete_AbsoluteUri()
        {
            try
            {
                bool value = (new IRepositoryDummy() as IRepository).Delete(null as AbsoluteUri);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }

        [Fact]
        public void IRepository_Delete_Token()
        {
            try
            {
                bool value = (new IRepositoryDummy() as IRepository).Delete(Token.Empty);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }

        [Fact]
        public void IRepository_Exists_AbsoluteUri()
        {
            try
            {
                bool value = (new IRepositoryDummy() as IRepository).Exists(null as AbsoluteUri);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }

        [Fact]
        public void IRepository_Exists_Token()
        {
            try
            {
                bool value = (new IRepositoryDummy() as IRepository).Exists(Token.Empty);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }

        [Fact]
        public void IRepository_Exists_string()
        {
            try
            {
                bool value = (new IRepositoryDummy() as IRepository).Exists(null as string);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }

        [Fact]
        public void IRepository_Export_AbsoluteUri()
        {
            try
            {
                XmlDataObject value = (new IRepositoryDummy() as IRepository).Export(null as AbsoluteUri);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }

        [Fact]
        public void IRepository_Export_Token()
        {
            try
            {
                XmlDataObject value = (new IRepositoryDummy() as IRepository).Export(Token.Empty);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }

        [Fact]
        public void IRepository_Insert_IRecord()
        {
            try
            {
                (new IRepositoryDummy() as IRepository).Insert(null as IRecord);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }

        [Fact]
        public void IRepository_Match_AbsoluteUri_string()
        {
            try
            {
                bool value = (new IRepositoryDummy() as IRepository).Match(null as AbsoluteUri, string.Empty);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }

        [Fact]
        public void IRepository_Match_Token_string()
        {
            try
            {
                bool value = (new IRepositoryDummy() as IRepository).Match(Token.Empty, string.Empty);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }

        [Fact]
        public void IRepository_ModifiedSince_AbsoluteUri_DateTime()
        {
            try
            {
                bool value = (new IRepositoryDummy() as IRepository).ModifiedSince(null as AbsoluteUri, DateTime.Today);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }

        [Fact]
        public void IRepository_ModifiedSince_Token_DateTime()
        {
            try
            {
                bool value = (new IRepositoryDummy() as IRepository).ModifiedSince(Token.Empty, DateTime.Today);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }

        [Fact]
        public void IRepository_Query_string()
        {
            try
            {
                IList<IRecordDummy> value = (new IRepositoryDummy() as IRepository).Query<IRecordDummy>(string.Empty);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }

        [Fact]
        public void IRepository_Select_AbsoluteUri()
        {
            try
            {
                IRecordDummy value = (new IRepositoryDummy() as IRepository).Select<IRecordDummy>(null as AbsoluteUri);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }

        [Fact]
        public void IRepository_Select_Token()
        {
            try
            {
                IRecordDummy value = (new IRepositoryDummy() as IRepository).Select<IRecordDummy>(Token.Empty);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }

        [Fact]
        public void IRepository_Token_AbsoluteUri()
        {
            try
            {
                Token? value = (new IRepositoryDummy() as IRepository).Token(null as AbsoluteUri);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }

        [Fact]
        public void IRepository_Update_IRecord()
        {
            try
            {
                bool value = (new IRepositoryDummy() as IRepository).Update(null as IRecord);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }

        [Fact]
        public void IRepository_Upsert_IRecord()
        {
            try
            {
                (new IRepositoryDummy() as IRepository).Upsert(null as IRecord);
                Assert.True(false);
            }
            catch (NotSupportedException)
            {
            }
        }
    }
}